FAQ: Which Books Related to The Main Course Ideas Should I Read?
The recommended course books list can be found here.
Books Related to the Course Material
[00:00:00]
I'll just call out some of the best ones and I'll make sure that there's a recommended reading list as well. But first one that comes to mind is BDD in Action.
Yeah, this is where I learned about the abstraction prism. It comes from BDD and Because, yeah, BDD is fundamentally what we're doing here. It's driving the code through this kind of philosophical level of reasoning, starting from the role and the goal, in the vision that is had there. And that goes all the way down until we're dealing with low level code.
That's an incredibly powerful perspective. And that's fundamentally what we're doing with abstraction. Object Design, yeah, just such a foundational book. It's the last one I needed to read where I thought, okay, yeah, I get it. I don't [00:01:00] really see if there's much more to this thing of design other than object design.
This was like the last one for me where, yeah, it made a ton of sense. Continuous Delivery is just also another incredible book. There's so much in there. So much great advice on just delivering software. I'll say another one that really changed my life was growing object oriented software guided by tests.
That's Steve Freeman, I believe. That one taught me about builders, which was really cool. And that's where we get the ideal developer workflow from. Which is to, and actually I learned about the walking skeleton from this book as well. But yeah, this is a really good one here in terms of just the rigor in driving code with tests.
The DevOps handbook is really good too. The second metaphysical essential is the feedback loop, I call that. Feedback loop is not just a mental model, it's [00:02:00] also continuous delivery, it's also the DevOps movement, it's also the Agile movement. It all comes together to, further validate this idea that everything we're doing is a guess.
And that's why we need all of these feedback loops to insert a number of them. And the DevOps movement is just a massive feedback loop fundamentally. Domain Driven Designs is the one that started to solve a lot of problems for me when I was struggling with how do I actually do very complex things in my code base and have it not turn into a big spaghetti mess.
The domain driven design books, the red book, the blue book, they put me down a really great path of getting to pattern first, understanding the patterns I need to use, but they didn't help me go a little bit further than that. And I think that's where, if you're going to go down that path, it would be good that you also read the object design book after these books.
Extreme Programming Explained is also a good one. There's a [00:03:00] Dependency Injection and Inversion book. But then Scott Wlaschin's Domain Modeling Made Functional book. This is like one of the best books, I think, of all time. The software books, that is. It was a huge influence on me in terms of just coming back to the foundations, the basics, and just using basic language to understand what it is we're doing.
One thing that's really cool, and I referred to this earlier on in the metaphysics content, is that we're just solving problems in their steps and events that we go through in order to get from state A to state B, right? That's all we're really doing. Functional programming is something that can be quite elusive to a lot of people, but if we think backwards and we just consider that state B is where we want to be, functional programming is just starting there and then just applying the steps and events as these compositional functions building up to create this slice that we then just put data into and it will spit out[00:04:00] a result that will hopefully take us to an end result, which is really cool.
Yeah, that's a really great book. And I think after you're done with this course if you want to go get into functional programming, that's a great place for you to go is to check that one out. And I think that's going to do it for the recommended books for the course. Oh, actually there's one last one.
It's a systems thinking book as well, because Yeah, this is all about systems thinking too. So those are some of the books, I'll make sure that we have those in the description for the vid.

For those slow learners avid for DDD who struggled with the Blue Book (like me) and still don't know quite well how to start after reading the Red Book I strongly recommend you "Hands-on Domain-driven Design - by example" by Michael Plöd. It's truly a hidden gem.